Co-Synthesis of Instruction Sets and Microarchitectures
نویسندگان
چکیده
The design of an instruction set processor includes several related design tasks: instruction set design, microarchitecture design, and code generation. Although there have been automatic approaches for each individual task, the investigation of the interaction between these tasks still primarily relies on designers’ experience and ingenuity. It is thus the goal of this research to develop formal models and algorithms to investigate such interaction systematically. This dissertation presents a two-phase co-synthesis approach to the problem. In the architectural level, given a set of application benchmarks and a pipeline structure, the ASIA (Automatic Synthesis of Instruction set Architecture) design automation system generates an instruction set and allocates hardware resources which best fit the applications, and, at the same time, maps the applications to assembly code with the synthesized instruction set. This approach formulates the codesign problem as a modified scheduling/allocation problem. A simulated annealing algorithm is used to solve the problem. Following ASIA, the microarchitectural-level design automation system PIPER accepts the instruction set architecture specification and generates a pipelined microarchitecture which implements the instruction set, and a reordering table which guides the compiler backend (reorderer). This approach relies on an extended taxonomy of inter-instruction dependencies and the associated hardware/software resolutions. The techniques are demonstrated with both illustrative and practical experiments. The results show that the techniques are capable of synthesizing instruction set processors that are as good as or better than the manually-designed instruction set architecture VLSI-BAM in application-specific environments, based on a design metric consisting of the instruction set size, cycle count and hardware resources. In addition, these techniques can be used to characterize architectural properties of application benchmarks. CO-SYNTHESIS OF INSTRUCTION SETS AND MICROARCHITECTURES
منابع مشابه
Compiler Techniques for Energy Saving in Instruction Caches of Speculative Parallel Microarchitectures
We present a new software scheme, called compilerassisted I-cache prediction (CIP) for energy reduction in instruction caches. With the help of compilersupplied information, the processor is able to turn o substantial portions of the I-cache. The necessary cache sets are only turned on during the execution of individual code sections. The CIP scheme is based on the processor's ability to predic...
متن کاملDesigning Computer Architecture Research Workloads
D esigners of microarchitectures for generalpurpose microprocessors once based their design decisions on experts’ intuition and rules of thumb. Since the mid-1980s, however, microarchitecture research has become a systematic process that uses simulation tools extensively. Although architectural simulators model microarchitectures at a high abstraction level, the increasing complexity of both th...
متن کاملMeasuring Program Behavior Similarity
D esigners of microarchitectures for generalpurpose microprocessors once based their design decisions on experts’ intuition and rules of thumb. Since the mid-1980s, however, microarchitecture research has become a systematic process that uses simulation tools extensively. Although architectural simulators model microarchitectures at a high abstraction level, the increasing complexity of both th...
متن کاملInstruction Control Mechanisms for Simplified Low Power- Multi-Cluster Microarchitectures
This architecture features new mechanisms for the issuing and management of instructions in multi-cluster microarchitectures for superscalar microprocessors. Multi-cluster microarchitectures offer the potential for very substantial reductions in the energy expended per instruction executed, resulting in lower power microprocessors for many applications. Such gains are achieved by partitioning t...
متن کاملUniied Cluster Assignment and Instruction Scheduling for Clustered Vliw Microarchitectures
There has been a trend towards microarchitectures that have disjoint register les to reduce the register le access time. The register le is partitioned and a set of functional units is assigned to each partitioned register le. The partitioned register le and its set of functional units constitute a cluster. Instruction scheduling for a clustered microprocessor requires assignment and scheduling...
متن کامل